A virtual machine (VM) is a software-based emulation of a computer. A virtual machine typically emulates a physical computing environment, but requests for CPU, memory, hard disk, network and other hardware resources are managed by a virtualization layer which translates these requests to the underlying physical hardware. A virtual machine acts and presents itself, e.g., to devices in communication with the virtual machine, as if it were a physical computer.